package com.gulimall.cart.util;

import com.gulimall.cart.vo.UserInfoVO;

/**
 * @Description
 * ThreadLocal的使用方法：
 * 1、所有请求过来，tomcat会为每一个请求分配一个线程 ，ThreadLocal 使用map进行存储 其中key为当前在栈空间的线程副本，值为我们存储的value
 * 2、适用于在上下文中获取和存储，进行变量的传递
 * @Author lhj
 * @Date 2024/3/16 14:34
 */
public class ThreadLocalUtil {
    
    
    public static final ThreadLocal<UserInfoVO> thread = new ThreadLocal();

    /**
     * 获取用户
     * @return
     */
    public static UserInfoVO get() {
        return thread.get();
    }

    /**
     * 设置用户信息
     * @param userInfoVO
     */
    public static void set(UserInfoVO userInfoVO) {
        thread.set(userInfoVO);
    }

    /**
     * 移除用户信息
     */
    public static void remove() {
        thread.remove();
    }
    
    
}
